home *** CD-ROM | disk | FTP | other *** search
- #include "PICS_Info.h"
- #include "PICS_Types.h"
- #include "assert_mac.h"
-
- // ---------------------------------------------------------------------------
-
- #define kDefaultPICSInfoName "\pPICS Parameters"
-
- // ---------------------------------------------------------------------------
-
- PICSInfoRsrcHdl GetPICSInfo() {
- return((PICSInfoHdl)Get1Resource(kPICSInfoRsrcType, kPICSInfoRsrcID));
- } // END GetPICSInfo
-
- // ---------------------------------------------------------------------------
-
- void DisposePICSInfo(PICSInfoRsrcHdl picsInfo) {
- ASSERT(picsInfo != NULL);
-
- ReleaseResource((Handle)picsInfo);
- } // END DisposePICSInfo
-
- // ---------------------------------------------------------------------------
-
- Boolean SavePICSInfo(PICSInfoRsrcHdl picsInfo, Boolean isResource) {
- OSErr myErr;
-
- ASSERT(picsInfo != NULL);
-
- if (isResource) {
- ChangedResource((Handle)picsInfo);
- myErr = ResError();
- if (myErr != noErr) {
- return(false);
- }
- }
- else {
- AddResource((Handle)picsInfo, kPICSInfoRsrcType,
- kPICSInfoRsrcID, kDefaultPICSInfoName);
- myErr = ResError();
- if (myErr != noErr) {
- return(NULL);
- }
- }
- UpdateResFile(CurResFile());
- myErr = ResError();
- if (myErr != noErr) {
- return(false);
- }
-
- return(true);
- } // END SavePICSInfo
-
- // ---------------------------------------------------------------------------
-
- PICSInfoHdl NewPICSInfo() {
- PICSInfoHdl picsInfo;
-
- picsInfo = (PICSInfoHdl)NewHandle(sizeof(PICSInfo));
- if (picsInfo == NULL) {
- return(NULL);
- }
-
- (**picsInfo).isColor = true;
- (**picsInfo).depth = (**(**GetMainDevice()).gdPMap).pixelSize;
- (**picsInfo).speed = 15;
- (**picsInfo).version = 0;
- (**picsInfo).creatorType = kPICSiliciousCreatorType;
- (**picsInfo).largestFrameSize = 0;
-
- return(picsInfo);
- } // END NewPICSInfo
-
- // ---------------------------------------------------------------------------
-
- PICSInfoRsrcHdl NewPICSInfoResource() {
- PICSInfoRsrcHdl picsInfo;
- OSErr myErr;
-
- // Delete any existing 'INFO' resources first
- do {
- picsInfo = GetPICSInfo();
- if (picsInfo != NULL) {
- RmveResource((Handle)picsInfo);
- UpdateResFile(CurResFile());
- }
- } while (picsInfo != NULL);
-
- picsInfo = NewPICSInfo();
- if (picsInfo == NULL) {
- return(NULL);
- }
-
- AddResource((Handle)picsInfo, kPICSInfoRsrcType,
- kPICSInfoRsrcID, kDefaultPICSInfoName);
- myErr = ResError();
- if (myErr != noErr) {
- return(NULL);
- }
- UpdateResFile(CurResFile());
-
- return(picsInfo);
- } // END NewPICSInfoResource